﻿<UserControl x:Class="Microsoft.PowerShell.CmdletManagement.CmdletDetailsControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Microsoft.PowerShell.CmdletManagement" >
    <StackPanel>
        <GroupBox Header="Name">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <local:ExtendedTextBlock x:Name="Snapin" Label="PSSnapin"
                                         HelpText="The PSSnapin used to register the cmdlet at the command line." 
                                         Value="{Binding Path=Snapin, Mode=TwoWay}"
                                         Grid.Row="0" Grid.Column="0" />
                
                <local:ExtendedCheckBox  x:Name="SupportsShouldProcess" Label="Supports ShouldProcess Calls"
                         HelpText="Cmdlets that make changes to the system that are outside of Windows PowerShell should support ShouldProcess calls." 
                         Value="{Binding Path=SupportsShouldProcess, Mode=TwoWay}"
                         Grid.Row="0" Grid.Column="1" />

                <local:ExtendedTextBlock x:Name="DefaultParameterSetName" Label="Default ParameterSet Name"
                         HelpText="The default parameter set name used by PowerShell during parameter binding." 
                         Value="{Binding Path=DefaultParameterSetName, Mode=TwoWay}"
                         Grid.Row="1" Grid.Column="0" />

                <local:ExtendedTextBlock x:Name="TeamMembers" Label="Team Members"
                         HelpText="Team members associated with this cmdlet." 
                         Value="{Binding Path=TeamMembers, Mode=TwoWay}"
                         Grid.Row="1" Grid.Column="1" />

                <local:ExtendedTextBlock x:Name="Status" Label="Status"
                         HelpText="The status of this cmdlet." 
                         Value="{Binding Path=Status, Mode=TwoWay}"
                         Grid.Row="2" Grid.Column="0" />

                <local:ExtendedTextBlock x:Name="HelpStatus" Label="Help Status"
                         HelpText="The help / documentation status of this cmdlet." 
                         Value="{Binding Path=HelpStatus, Mode=TwoWay}"
                         Grid.Row="2" Grid.Column="1" />

            </Grid>
        </GroupBox>
        <GroupBox Header="Description">
            <StackPanel>
                <local:FreeTextExtendedTextBlock x:Name="LongDescription" Label="Long Description"
												HelpText="The long description of what the cmdlet does. This description can contain several sentences within a single paragraph."
												Value="{Binding Path=LongDescription, Mode=TwoWay}"
												MinLines="5"
                                                />
                <local:FreeTextExtendedTextBlock x:Name="HelpLongDescription" Label="Help Long Description"
												HelpText="The help text description of what the cmdlet does. This description can contain several sentences within a single paragraph. Start with &quot;The &lt;cmdlet name&gt; cmdlet…&quot;"
												Value="{Binding Path=HelpLongDescription, Mode=TwoWay}"
												MinLines="5"
                                                />

            </StackPanel>
        </GroupBox>
        <GroupBox Header="Notes">
            <StackPanel>
                <local:FreeTextExtendedTextBlock x:Name="Notes" Label="Notes"
                                                HelpText="Any additional notes on this cmdlet"
                                                Value="{Binding Path=Notes, Mode=TwoWay}"
												 MinLines="5"
                                                />
                <local:FreeTextExtendedTextBlock x:Name="HelpNotes" Label="Help Notes"
                                                HelpText="Any additional help-specific notes on this cmdlet"
                                                Value="{Binding Path=HelpAdditionalNotes, Mode=TwoWay}"
												 MinLines="5"
                                                />

            </StackPanel>
        </GroupBox>
        <GroupBox Header="Cmdlet Input">
            <StackPanel>
                <local:ExtendedTextBlock x:Name="InputObject" Label="Input Object"
                                                HelpText="The .NET type of the objects (comma separated list) that the cmdlet consumes"
                                                Value="{Binding Path=InputObject, Mode=TwoWay}"
                                                />
                <local:FreeTextExtendedTextBlock x:Name="InputObjectDescription" Label="Help Input Object Description"
                                                HelpText="A help description of the input objects. See Help for a possible format for adding this description"
                                                Value="{Binding Path=HelpInputObjectDescription, Mode=TwoWay}"
												 MinLines="5"
                                                />
            </StackPanel>
        </GroupBox>
        <GroupBox Header="Cmdlet Output">
            <StackPanel>
                <local:ExtendedTextBlock x:Name="OutputObject" Label="Output Object"
                                                HelpText="The .NET type of the objects (comma separated list) that the cmdlet generates or passes down the pipeline"
                                                Value="{Binding Path=OutputObject, Mode=TwoWay}"
                                                />
                <local:FreeTextExtendedTextBlock x:Name="OutputObjectDescription" Label="Description of the object output by this cmdlet"
                                                HelpText="A description of the output objects. See Help for a possible format for adding this description"
                                                Value="{Binding Path=OutputObjectDescription, Mode=TwoWay}"
												 MinLines="5"
                                                />
                <local:FreeTextExtendedTextBlock x:Name="HelpOutputObjectDescription" Label="Help description of the object output by this cmdlet"
                                                HelpText="A help-biased description of the output objects. See Help for a possible format for adding this description"
                                                Value="{Binding Path=HelpOutputObjectDescription, Mode=TwoWay}"
												 MinLines="5"
                                                />
            </StackPanel>
        </GroupBox>
        <GroupBox Header="Related Topics">
            <StackPanel>
                <local:ExtendedTextBlock x:Name="RelatedTo" Label="Related To"
                                                HelpText="A comma-separated list of other topics associated with this cmdlet. Use PSONLINE:http://www.url.com to provide the value used by Get-Help -Online"
                                                Value="{Binding Path=RelatedTo, Mode=TwoWay}"
                                                />
            </StackPanel>
        </GroupBox>
        <GroupBox Header="Custom Fields">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>

                <local:ExtendedTextBlock x:Name="Custom1" Label="Custom Field #1"
                                                HelpText="Data associated with custom field #1"
                                                Value="{Binding Path=Custom1, Mode=TwoWay}"
                                                Grid.Row="0" Grid.Column="0"
                                                />
                <local:ExtendedTextBlock x:Name="Custom2" Label="Custom Field #2"
                                                HelpText="Data associated with custom field #2"
                                                Value="{Binding Path=Custom2, Mode=TwoWay}"
                                                Grid.Row="0" Grid.Column="1"
                                                />
                <local:ExtendedTextBlock x:Name="Custom3" Label="Custom Field #3"
                                                HelpText="Data associated with custom field #3"
                                                Value="{Binding Path=Custom3, Mode=TwoWay}"
                                                Grid.Row="1" Grid.Column="0"
                                                />
                <local:ExtendedTextBlock x:Name="Custom4" Label="Additional Spec Metadata"
                                                HelpText="Additional spec data. Include 'SupportsTransactions' if the cmdlet supports transactions"
                                                Value="{Binding Path=Custom4, Mode=TwoWay}"
                                                Grid.Row="1" Grid.Column="1"
                                                />

            </Grid>
        </GroupBox>
    </StackPanel>
</UserControl>
